#ifndef PROGRAM_H
#define PROGRAM_H

#include <QtGui/QMainWindow>
#include "library_manager.h"
#include "ui_program.h"
#include "solution.h"
#include "editor.h"
#include "fabric.h"
#include "about.h"


class Program : public QMainWindow
{
    Q_OBJECT

public:
    Program(QWidget *parent = 0);
    ~Program();
    
    void initialize();
    
private:
    Ui::ProgramClass ui;
    Fabric fabric_solution;
    QList<Piece> selected_pieces;
    
    void setupEvents();
    void setupCombos();
    
private slots:
	void addPiece();
	void removePiece();
	void editPiece();
	void resolve();
	void loadPieces();
	void openEditor();
	void openLibraries();
	void newSolution();
	void changeUnit();
	void aboutMe();
};

#endif // PROGRAM_H
